import {getExpressList} from "@/api/order";
import ca from "element-ui/src/locale/lang/ca";

let cache = [];
let count = 0;

async function getCompany() {
  await getExpressList()
    .then(res=>{
      cache = res.data
    })
}

/**
 * 请求获取
 * @returns {Promise<*[]>}
 */
export async function getCompanyCache() {

  if (cache.length > 0) { return cache; }

  if (count++) {
    // 如果有计数说明自己不是第 1 个，就等。注意这里判断的是加之前的 count
    // 循环里最好再加个超时判断
    while (!cache) { await getCompany(); }
  } else {
    // 是第 1 个就去请求
    // 如果这里有可能会抛异常，抛异常也不要漏了 count--
    // （这个示例代码没做容错，自己加）
    await getCompany();
  }

  count--;    // 记得减回去，方便以后如果要刷新 cache 的时候用
  return cache;
}
